import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
//        int[] nums = {3,2,2,3};
//        int ret = removeElement(nums,2);
//        System.out.println(ret);
//        int ret2 = removeDuplicates(nums);
//        System.out.println(ret2);

        int[] nums1 = {1,2,3,0,0,0};
        int[] nums2 = {2,5,6};
        int m=3,n=3;
        merge(nums1,m,nums2,n);
    }

//    public static int removeElement(int[] nums, int val) {
//        int n = nums.length;
//        int left = 0;
//        for (int right = 0; right < n; right++) {
//            if (nums[right] != val) {
//                nums[left] = nums[right];
//                left++;
//            }
//        }
//        return left;
//    }

//    public static int removeDuplicates(int[] nums) {
//        Arrays.sort(nums);
//        int index = 0;
//        for (int i = 1; i < nums.length; i++) {
//            if (nums[i] != nums[index]) {
//                nums[++index] = nums[i];
//            }
//        }
//        return index + 1;
//    }

    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int[] newArr = new int[m+n];
        System.arraycopy(nums1,0,newArr,0,m);
        System.arraycopy(nums2,0,newArr,m,n);
        Arrays.sort(newArr);
        for(int x: newArr){
            System.out.print(x+" ");
        }
    }

//    public void addLast(int data) {
//        ListNode node = new ListNode(data);
//        if(head == null || last == null){
//            head = node;
//            last = node;
//        }
//        last.next = node;
//        node.prev = last;
//        last = node;
//    }
}
